#ifndef _CRT_GUID_H_
#define _CRT_GUID_H_

#include <crt_define.h>
#include <crt_guid.hpp>

#ifdef	__cplusplus
extern "C" 
{
#endif

#define GUIDFormatString	"{%08X-%04X-%04X-%02X%02X-%02X%02X%02X%02X%02X%02X}"
#define GUIDFormatWString	L"{%08X-%04X-%04X-%02X%02X-%02X%02X%02X%02X%02X%02X}"
#define GUIDStringLength    40
#define GUIDClassName		"0x%08X, 0x%04X, 0x%04X, 0x%02X, 0x%02X, 0x%02X, 0x%02X, 0x%02X, 0x%02X, 0x%02X, 0x%02X"

GUID StringToGUID(const char* lpString);
GUID WStringToGUID(wchar_t* lpString);
const char* GUIDToString(const GUID* guid, char* lpGuidBuf);
const wchar_t* GUIDToWString(const GUID* guid, wchar_t* lpGuidBuf);

const char* StringToGUIDClassName(const char* strguid, char* lpGuidBuf);

#ifdef	__cplusplus
}
# endif

#endif

